/*
使用方式：
1.安装依赖库eclib3 (git clone https://gitee.com/kipway/eclib3 && sudo cp -r ./eclib3 /usr/local/include/)
2.将logging.h和logging.cpp包含至自己项目内
3.初始化日志库initLogConf
4.使用error,warn等函数进行日志输出

日志初始化:
bool server			是否开启服务器记录功能
bool file           是否开启本地文件记录功能
bool console        是否开启终端输出记录功能（如果存在终端则输出至终端，不存在则设置true也无效）
string level        日志默认等级，记录时候如果大于该等级则不予以记录,目前等级error<warn<msg<mor<dbg
string serveraddr   服务器地址，举例udp://192.168.10.63:999/
string clientid     客户端标识码,服务器显示日志将按照客户端id进行分类
int rotatesize      文件轮替大小，建议1048576即1M
void initLogConf(bool server, bool file, bool console, string level, string serveraddr, string clientid, int rotatesize);

添加日志举例：
error("hello world -- %d  -- %s\n", 100, "aaa");

在浏览器端查看所有设备日志:
http://192.168.10.63:999/#

本地日志文件在可执行文件目录
*/

//#define LOG_CLOSE       //是否关闭日志系统以提高程序运行效率，如要关闭，加上改代码即可（整个项目定义一次，并且改代码在#include "logging.h"前面）
#include "logging.h"
#include <thread>
#include <chrono>
#include <future>
using namespace std;

int main()
{
    initLogConf(true, true, true, "DBG", "udp://192.168.10.63:999/", "123456789ABC", 1047586);

    std::array<std::future<void>, 10> fa;
    for (int i = 0; i < 10; i++)
    {
        fa[i] = std::async( []() {
            for (int j = 0; j < 20; j++)
            {
                error("123456  --  hello world");
                warn("123456  --  hello world");
                msg("123456  --  hello world");
                mor("123456  --  hello world");
                dbg("123456  --  hello world");
                this_thread::sleep_for(chrono::milliseconds(3000));
            } });
    }
    return 0;
}
